1. Field of the Invention
This invention is related to the field of dynamic and static logic circuits, and more particularly to noise issues in dynamic to static conversion.
2. Description of the Related Art
Dynamic logic circuits are a circuit design tool often used in integrated circuits. Generally, dynamic logic circuits are precharged to a first state and then conditionally discharged to a second state according to one or more inputs. In contrast, static logic circuits continuously respond to inputs by driving the outputs to high or low states according to the state of the inputs. Since the inputs of dynamic logic circuits are only connected to the discharge transistors (as opposed to static logic circuitry in which a given input is typically connected to at least two transistors, one which may charge the output and one which may discharge the output), the capacitive load on the inputs may be comparatively lower than equivalent static logic circuitry. Additionally, the use of only discharge transistors may inherently speed the evaluation of the logic circuitry. Thus, dynamic logic circuitry may typically evaluate more rapidly than the corresponding static logic circuitry.
One complication introduced with the use of dynamic logic circuits is the need to convert the dynamic logic signals produced by the dynamic logic circuits to static logic signals when the dynamic logic signals are input to static circuitry, dynamic circuitry operating on a different phase of the clock, etc. In particular, the conversion hides the precharge of the dynamic circuitry during the precharge phase from the static circuitry, providing a steady value during the precharge phase equal to the result of the evaluate phase. In this fashion, the static logic circuitry does not reevaluate based on the precharge values.
Typically, the circuit shown in FIG. 1 may be used to convert dynamic logic signals to static logic signals. The circuit includes a dynamic logic circuit comprising a precharge transistor 10, one or more pulldown transistors 12 (shown in block form), and an evaluate transistor 14. The precharge transistor 10 is activated by the clock signal coupled to its gate node and precharges the node 16 during the precharge phase (clock low in this example). The dynamic inputs of the dynamic logic circuit are coupled to the pulldown transistors 12, which conditionally discharge the node 16 during the evaluate phase (clock high in this example). The evaluate phase is controlled by the evaluate transistor 14, which has its gate node coupled to the clock signal as well.
The node 16 is connected to the gate node of the transistors 18 and 20, which are coupled to the output node of the circuit. During the evaluate phase (when the transistor 22 is active), the transistors 18 and 20 function as an inverter, inverting the value on the node 16 to provide the output. During the precharge phase (clock low), the transistor 22 is deactivated. The precharge of the node 16 activates the transistor 20 and deactivates the transistor 18. Since both the transistor 18 and the transistor 22 are deactivated, the precharge does not pass to the output node. Thus, the output node remains at the value generated during the evaluate phase of the dynamic logic circuit.
To prevent the output node from floating during the precharge phase, the cross coupled inverters 24 and 26 are provided to latch the output value. So as not to impact the transition speed of the output node in response to the dynamic circuit operation during the evaluate phase, the inverter 24 is made relatively weak as compared to the other transistors in the circuit. Since the inverter 24 is the only circuitry supplying the value on the output node during the precharge phase and the inverter 24 is weak, the circuit shown in FIG. 1 is noise sensitive. That is, noise injected on the output node (typically the capacitive “crosstalk” from other wires near the wires connected to the output node) may have the tendency to flip the state of the output node, thus causing erroneous operation.
Typically, circuit designers attempt to limit the noise injected on the output node by limiting the distance that the wires attached to the output node travel (thus limiting the injection of noise by limiting the number and length of nearby wires) or by shielding the wires. Limiting the routing distance complicates the design and limits the use of the circuit shown in FIG. 1. Adding shielding increases the impact of the circuit shown in FIG. 1 on the wireability of the integrated circuit and may create additional layout complexities for the integrated circuit.